﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace ASP01
{

    public partial class _Default : System.Web.UI.Page
    {
        DataClasses1DataContext dc = new DataClasses1DataContext();
        bool poczatek = false;
        protected void Page_Load(object sender, EventArgs e)
        {
            if (((bool)Session["poczatek"]) == false)
            {
                Session["poczatek"] = true;
                DropDownList2.Enabled = false;
                Session["przepis"] = "";
                TextBox1.Enabled = false;
                Button1.Enabled = false;
                // wyswietlenie kategorii
                var x = from p in dc.kategories select p;
                foreach (var p in x)
                    DropDownList1.Items.Add(p.nazwa);

                Session["kcalCalkowite"] = 0;

                Session["licznikBialek"] = 0.0;
                Session["licznikTłuszczy"] = 0.0;
                Session["licznikCukrow"] = 0.0;
                kcalLabel.Text = Session["kcalCalkowite"].ToString();
                bialka.Text = Session["licznikBialek"].ToString();
                tluszcze.Text = Session["licznikTłuszczy"].ToString();
                węglowodany.Text = Session["licznikCukrow"].ToString();
      

            }
            else
            {



                Button1.Enabled = true;
                TextBox1.Enabled = true;
                kcalLabel.Text = Session["kcalCalkowite"].ToString();
                bialka.Text = Session["licznikBialek"].ToString();
                węglowodany.Text = Session["licznikCukrow"].ToString();
                tluszcze.Text = Session["licznikTłuszczy"].ToString();
                



            }

        }

        double nB = 0;
        double nT = 0;
        double nC = 0;

        protected void Button1_Click(object sender, EventArgs e)
        {
            if (TextBox1.Text != "")
            {
                //pobranie wagi
                int waga = Convert.ToInt32(TextBox1.Text.ToString());
                //nazwa produktu
                string nazwa_produktu = DropDownList2.Text.ToString();

                //pobranie ilosci kalorii
                var zapytaniePobierajaceIloscKcal = from p in dc.produkties where p.nazwa == nazwa_produktu select p;
                int kcal = -1;
                foreach (var p in zapytaniePobierajaceIloscKcal)
                {
                    kcal = (int)p.kcal;
                    nB = (double)p.białka;

                    nT = (double)p.tłuszcze;
                    nC = (double)p.węglowodany;





                    int kcalProduku = waga * kcal / 100;
                    Session["kcalCalkowite"] = ((int)Session["kcalCalkowite"] + kcalProduku);

                    Session["licznikBialek"] = ((double)Session["licznikBialek"] + waga * nB / 100.0);
                    Session["licznikTłuszczy"] = ((double)Session["licznikTłuszczy"] + waga * nT / 100.0);
                    Session["licznikCukrow"] = ((double)Session["licznikCukrow"] + waga * nC / 100.0);
                    kcalLabel.Text = Session["kcalCalkowite"].ToString();
                    bialka.Text = Session["licznikBialek"].ToString();
                    tluszcze.Text = Session["licznikTłuszczy"].ToString();
                    węglowodany.Text = Session["licznikCukrow"].ToString();
                    BulletedList1.Items.Add(nazwa_produktu.ToString() + " " + waga.ToString() + "" + DropDownList3.Text);
                }
            }
        }

        protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
        {
            DropDownList2.Items.Clear();
            DropDownList2.Enabled = true;

            string nazwa_kategorii = DropDownList1.SelectedValue.ToString();


            //pobranie id_kategorii
            var Zapytanie_pobranie_id_kategorii = from p in dc.kategories where p.nazwa == nazwa_kategorii select p;
            int id_kategorii = 0;

            foreach (var p in Zapytanie_pobranie_id_kategorii)
                id_kategorii = (int)p.id_kategori;


            //wyswietlenie nazwa produktów w comboBox2
            var Zapytanie_pobranieProduktow = from p in dc.produkties where p.id_kategori == id_kategorii select p;
            foreach (var p in Zapytanie_pobranieProduktow)
                DropDownList2.Items.Add(p.nazwa);
        }

        protected void Panel1_Load(object sender, EventArgs e)
        {


        }

        protected void DropDownList2_SelectedIndexChanged(object sender, EventArgs e)
        {
            Button1.Enabled = true;
            TextBox1.Enabled = true;
        }

        protected void clear_Click(object sender, EventArgs e)
        {

            kcalLabel.Text = Session["kcalCalkowite"].ToString();
            bialka.Text = Session["licznikBialek"].ToString();
            tluszcze.Text = Session["licznikTłuszczy"].ToString();
            węglowodany.Text = Session["licznikCukrow"].ToString();
            
            Session.Abandon();
            Response.Cookies.Add(new HttpCookie("ASP.NET_SessionId", ""));
            Response.Redirect(Request.Url.ToString());


        }

        protected void DropDownList3_SelectedIndexChanged(object sender, EventArgs e)
        {

        }
    }
}
